[id].vue 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714
  1. <template>
  2. <div>
  3. <HomePageHead></HomePageHead>
  4. <HomePageNavigation></HomePageNavigation>
  5. <HomeAdvertising :imgurl="adImg1" v-if="adImg1"></HomeAdvertising>
  6. <!-- 面包屑导航 -->
  7. <div class="breadcrumb">
  8. <div class="inner">
  9. <span class="location">当前位置:</span>
  10. <el-breadcrumb :separator-icon="ArrowRight">
  11. <el-breadcrumb-item>
  12. <NuxtLink to="/">首页</NuxtLink>
  13. </el-breadcrumb-item>
  14. <el-breadcrumb-item>
  15. <NuxtLink :to="`/${parent_pinyin}/index.html`"> {{ parent_name }}</NuxtLink>
  16. </el-breadcrumb-item>
  17. <el-breadcrumb-item>简历详情</el-breadcrumb-item>
  18. </el-breadcrumb>
  19. </div>
  20. </div>
  21. <!-- 简历 -->
  22. <main class="gerenjianli" v-if="type == 2">
  23. <!-- 个人简历 -->
  24. <section class="index_1 clearfix">
  25. <div class="seek_head_box clearfix">
  26. <div class="seek_head_left">
  27. <a class="seek_head_a seek_head_only" title="">个人简历</a>
  28. </div>
  29. <div class="seek_head_right_box clearfix">
  30. <span class="seek_head_right_text">更新时间:{{ jobInfo.created_at }}</span>
  31. </div>
  32. </div>
  33. <div class="index_1_left clearfix">
  34. <div class="seek_introduce_box clearfix">
  35. <div class="seek_introduce_left clearfix">
  36. <div class="seek_introduce_head clearfix">
  37. <h4 class="seek_introduce_h4">{{ jobInfo.name }}</h4>
  38. <div class="seek_introduce_tag clearfix" v-if="resume">此简历已被推荐</div>
  39. <div class="seek_introduce_text clearfix" v-if="resume">
  40. (已有单位把本简历加入人才库)
  41. </div>
  42. </div>
  43. <div class="seek_introduce_title_box clearfix">
  44. <span class="seek_introduce_label">期望岗位:</span>
  45. <span class="seek_introduce_title">{{ jobInfo.jtzw_name }}</span>
  46. <span class="seek_introduce_label">薪资待遇:</span>
  47. <span class="seek_introduce_title">{{ jobInfo.salary_name }}</span>
  48. </div>
  49. </div>
  50. </div>
  51. <div class="seek_introduce_foot clearfix">
  52. <span class="seek_introduce_foot_text" v-if="jobInfo.sexy">
  53. {{ jobInfo.sexy == 1 ? '男' : '女' }}
  54. </span>
  55. <span class="seek_introduce_foot_text" v-if="jobInfo.birth">
  56. {{ getTime(jobInfo.birth, 'year', 0) }}
  57. </span>
  58. <span class="seek_introduce_foot_text" v-if="jobInfo.origin">
  59. 籍贯:{{ jobInfo.origin }}
  60. </span>
  61. <!-- <span class="seek_introduce_foot_text">汉族</span> -->
  62. <span class="seek_introduce_foot_text" v-if="jobInfo.education_name">
  63. {{ jobInfo.education_name }}
  64. </span>
  65. <span class="seek_introduce_foot_text" v-if="jobInfo.experience_name">
  66. {{ jobInfo.experience_name }}
  67. </span>
  68. <span class="seek_introduce_foot_text" v-if="jobInfo.hunt_cityname">
  69. 工作地点:{{ jobInfo.hunt_cityname }}
  70. </span>
  71. <span class="seek_introduce_foot_text" v-if="jobInfo.language_name">
  72. {{ jobInfo.language_name }}
  73. </span>
  74. </div>
  75. </div>
  76. <div class="index_1_right clearfix">
  77. <img class="index_1_right_img" src="@/public/image/touxiang.png" title="" alt=""
  78. v-if="!jobInfo.imgurl">
  79. <img class="index_1_right_img" :src="jobInfo.imgurl" title="" alt="" v-if="jobInfo.imgurl">
  80. </div>
  81. </section>
  82. <!-- 个人简历 -->
  83. <div class="contact_me" v-if="type_id == 3">
  84. <div class="contact_me_btn" @click="getContactMe">
  85. <span class="contact_me_btn_img"></span>
  86. 沟通简历
  87. </div>
  88. </div>
  89. <div class="contact_me" v-else>
  90. <div class="contact_me_btn contact_me_btn_2">
  91. <span class="contact_me_btn_img"></span>
  92. 沟通简历
  93. </div>
  94. </div>
  95. </main>
  96. <main class="jianli" v-if="type == 2">
  97. <!-- 自我介绍 -->
  98. <section class="index_2 clearfix">
  99. <div class="seek_head_box clearfix">
  100. <div class="seek_head_left">
  101. <a class="seek_head_a seek_head_only" title="">自我介绍</a>
  102. </div>
  103. </div>
  104. <article class="seek_article">
  105. {{ jobInfo.self_evaluation }}
  106. </article>
  107. </section>
  108. <!-- 自我介绍 -->
  109. <!-- 工作经历 -->
  110. <section class="index_3 clearfix">
  111. <div class="seek_head_box clearfix">
  112. <div class="seek_head_left">
  113. <a class="seek_head_a seek_head_only" title="">工作经历</a>
  114. </div>
  115. </div>
  116. <div class="seek_in clearfix" v-for="(item, index) in experienceInfo" :key="index">
  117. <div class="seek_in_head clearfix">
  118. <span class="seek_in_head_text">{{ index + 1 }}.{{ item.company_name }}</span>
  119. <span class="seek_in_head_text">
  120. 职位类别:
  121. {{ item.zw_name }}
  122. </span>
  123. <span class="seek_in_head_text">
  124. 具体职位:
  125. {{ item.jtzw_name }}
  126. </span>
  127. <span class="seek_in_head_text" style="float: right;" v-if="item.job_timeList">
  128. {{ getTime(item.job_timeList[0], 'year', 0) }}
  129. -
  130. {{ getTime(item.job_timeList[1], 'year', 0) }}
  131. </span>
  132. </div>
  133. <div class="seek_in_ul clearfix">
  134. <div class="seek_in_li clearfix">
  135. <label class="seek_in_label">工作内容:</label>
  136. <div class="seek_in_li_text">{{ item.job_content }}</div>
  137. </div>
  138. <div class="seek_in_li clearfix">
  139. <label class="seek_in_label">工作业绩:</label>
  140. <div class="seek_in_li_text">{{ item.performance }}</div>
  141. </div>
  142. </div>
  143. </div>
  144. </section>
  145. <!-- 工作经历 -->
  146. <!-- 教育背景 -->
  147. <section class="index_4 clearfix">
  148. <div class="seek_head_box clearfix">
  149. <div class="seek_head_left">
  150. <a class="seek_head_a seek_head_only" title="">教育背景</a>
  151. </div>
  152. </div>
  153. <div class="seek_in clearfix" v-for="(item, index) in education" :key="index">
  154. <div class="seek_in_head clearfix">
  155. <span class="seek_in_head_text"
  156. v-if="item.school_name || item.education_name || item.school_major || item.school_timeList">
  157. {{ index + 1 }}. {{ item.school_name }}
  158. </span>
  159. <span class="seek_in_head_text">
  160. {{ item.education_name }}
  161. </span>
  162. <span class="seek_in_head_text">{{ item.school_major }}</span>
  163. <span class="seek_in_head_text" style="float: right;" v-if="item.school_timeList">
  164. {{ getTime(item.school_timeList[0], 'year', 0) }}
  165. -
  166. {{ getTime(item.school_timeList[1], 'year', 0) }}
  167. </span>
  168. </div>
  169. <div class="seek_in_ul clearfix" v-if="item.school_experience">
  170. <div class="seek_in_li clearfix">
  171. <label class="seek_in_label">在校经历:</label>
  172. <div class="seek_in_li_text">{{ item.school_experience }}</div>
  173. </div>
  174. </div>
  175. </div>
  176. </section>
  177. <!-- 教育背景 -->
  178. <!-- 专业技能 -->
  179. <section class="index_5 clearfix">
  180. <div class="seek_head_box clearfix">
  181. <div class="seek_head_left">
  182. <a class="seek_head_a seek_head_only" title="">专业技能</a>
  183. </div>
  184. </div>
  185. <div class="seek_in clearfix">
  186. <div class="seek_in_ul clearfix">
  187. <div class="seek_in_li clearfix" v-for="(item, index) in skillList">
  188. <label class="seek_in_label" v-if="item.skill">{{ index + 1 }}.</label>
  189. <div class="seek_in_li_text">{{ item.skill }}</div>
  190. </div>
  191. </div>
  192. </div>
  193. </section>
  194. <!-- 专业技能 -->
  195. <!-- 联系方式 -->
  196. <section class="index_6 clearfix">
  197. <div class="seek_head_box clearfix">
  198. <div class="seek_head_left">
  199. <a class="seek_head_a seek_head_only" title="">联系方式</a>
  200. </div>
  201. </div>
  202. <div class="seek_in clearfix" v-if="type_id == 10000 || type_id == 3">
  203. <article class="seek_article_2">
  204. {{ jobInfo.phone }}
  205. </article>
  206. </div>
  207. <div class="seek_in clearfix" v-else>
  208. <article class="seek_article_2">
  209. 登录后可查看
  210. </article>
  211. </div>
  212. </section>
  213. <!-- 联系方式 -->
  214. <!-- 弹框 -->
  215. <section class="cruit_alert_rgb clearfix" v-if="resumeBool">
  216. <!-- 请选择要投递的简历1 -->
  217. <div class="cruit_alert_rgb_box">
  218. <div class="cruit_alert_rgb_head_box">
  219. <div class="cruit_alert_rgb_close hand back100"></div>
  220. <div class="cruit_alert_rgb_head">请选择要沟通的岗位
  221. <span class="close" @click="resumeBool = false">x</span>
  222. </div>
  223. </div>
  224. <form class="cruit_alert_rgb_form clearfix" action=" " method=" ">
  225. <div class="cruit_alert_rgb_form_in clearfix">
  226. <div class="cruit_alert_rgb_li clearfix" v-for="(item, index) in companyJobList"
  227. :key="item.id">
  228. <el-radio :value="item.id" v-model="company_job" @change="jobChange">
  229. <div class="cruit_alert_rgb_label dot1">
  230. {{ item.title }}
  231. </div>
  232. </el-radio>
  233. </div>
  234. </div>
  235. <div class="cruit_alert_rgb_foot clearfix">
  236. <div class="cruit_alert_rgb_foot_sub hand" @click="getresume">沟通岗位</div>
  237. </div>
  238. </form>
  239. </div>
  240. <!-- 请选择要投递的简历2 -->
  241. </section>
  242. </main>
  243. <!-- 岗位 -->
  244. <!-- <div class="gangwei" v-if="type == 1">
  245. <main class="color_main">
  246. <main class="index_main">
  247. <section class="index_1 clearfix">
  248. <div class="cruit_head_box clearfix">
  249. <div class="cruit_head_left">
  250. <a class="cruit_head_a cruit_head_only" title="">基本信息</a>
  251. </div>
  252. </div>
  253. <div class="index_1_box clearfix">
  254. <div class="demand_head_box clearfix">
  255. <div class="demand_head_name">{{ jobInfo.title }}</div>
  256. <div class="demand_head_btn hand" v-if="type_id == 1" @click="applyJob">申请该职位</div>
  257. <div class="demand_head_btn1" v-if="type_id != 1">申请该职位</div>
  258. </div>
  259. <div class="cruit_li_2_foot clearfix">
  260. <span class="cruit_li_2_foot_tag cruit_li_2_foot_exper">
  261. {{ jobInfo.hy_name }}
  262. &gt;
  263. {{ jobInfo.zw_name }}
  264. </span>
  265. <span class="cruit_li_2_foot_tag cruit_li_2_foot_addres">{{ jobInfo.city_name }}</span>
  266. </div>
  267. </div>
  268. </section>
  269. </main>
  270. </main>
  271. <main class="index_main">
  272. <section class="index_2 clearfix">
  273. <div class="demand_1 clearfix">
  274. <div class="demand_left_1 clearfix">
  275. <div class="cruit_head_box clearfix">
  276. <div class="cruit_head_left">
  277. <a class="cruit_head_a cruit_head_only" title="">基本要求</a>
  278. </div>
  279. </div>
  280. <div class="demand_ul_2">
  281. <div class="demand_li_2 clearfix">
  282. <div class="demand_li_2_label">工作性质:</div>
  283. <div class="demand_li_2_text clearfix">{{ jobInfo.job_nature_name }}</div>
  284. </div>
  285. <div class="demand_li_2 clearfix">
  286. <div class="demand_li_2_label">工作经验:</div>
  287. <div class="demand_li_2_text clearfix">{{ jobInfo.experience_name }}</div>
  288. </div>
  289. <div class="demand_li_2 clearfix">
  290. <div class="demand_li_2_label">学历文凭:</div>
  291. <div class="demand_li_2_text clearfix">{{ jobInfo.education_name }}</div>
  292. </div>
  293. <div class="demand_li_2 clearfix">
  294. <div class="demand_li_2_label">语言选择:</div>
  295. <div class="demand_li_2_text clearfix">{{ jobInfo.language_name }}</div>
  296. </div>
  297. <div class="demand_li_2 clearfix">
  298. <div class="demand_li_2_label">薪资待遇:</div>
  299. <div class="demand_li_2_text clearfix">{{ jobInfo.salary_name }}</div>
  300. </div>
  301. <div class="demand_li_2 clearfix">
  302. <div class="demand_li_2_label">截止日期:</div>
  303. <div class="demand_li_2_text clearfix">
  304. {{ getTime(jobInfo.created_at, 'year', 1) }}
  305. </div>
  306. </div>
  307. </div>
  308. </div>
  309. <div class="demand_left_2 clearfix">
  310. <div class="cruit_head_box clearfix">
  311. <div class="cruit_head_left">
  312. <a class="cruit_head_a cruit_head_only" title="">岗位职责</a>
  313. </div>
  314. </div>
  315. <article class="demand_article_1">
  316. {{ jobInfo.description }}
  317. </article>
  318. </div>
  319. <div class="demand_left_3 clearfix">
  320. <div class="cruit_head_box clearfix">
  321. <div class="cruit_head_left">
  322. <a class="cruit_head_a cruit_head_only" title="">具体要求</a>
  323. </div>
  324. </div>
  325. <article class="demand_article_1">
  326. {{ jobInfo.jt_description }}
  327. </article>
  328. </div>
  329. <div class="demand_left_4 clearfix">
  330. <div class="cruit_head_box clearfix">
  331. <div class="cruit_head_left">
  332. <a class="cruit_head_a cruit_head_only" title="">联系方式</a>
  333. </div>
  334. </div>
  335. <div class="demand_ul_2">
  336. <div class="demand_li_2 clearfix">
  337. <div class="demand_li_2_label">地址:</div>
  338. <div class="demand_li_2_text clearfix">{{ companyInfo.address_name }}</div>
  339. </div>
  340. <div class="demand_li_2 clearfix">
  341. <div class="demand_li_2_label">邮箱:</div>
  342. <div class="demand_li_2_text clearfix">{{ companyInfo.email }}</div>
  343. </div>
  344. </div>
  345. </div>
  346. <div class="demand_left_5 clearfix">
  347. <div class="cruit_head_box clearfix">
  348. <div class="cruit_head_left">
  349. <a class="cruit_head_a cruit_head_only" title="">公司介绍</a>
  350. </div>
  351. </div>
  352. <div class="demand_ul_2">
  353. <div class="demand_li_2 clearfix">
  354. <div class="demand_li_2_label">公司规模:</div>
  355. <div class="demand_li_2_text clearfix">{{ companyInfo.company_size_name }}</div>
  356. </div>
  357. <div class="demand_li_2 clearfix">
  358. <div class="demand_li_2_label">公司性质:</div>
  359. <div class="demand_li_2_text clearfix">{{ companyInfo.company_nature_name }}</div>
  360. </div>
  361. <div class="demand_li_2 clearfix">
  362. <div class="demand_li_2_label">公司行业:</div>
  363. <div class="demand_li_2_text clearfix">{{ companyInfo.hy_name }}</div>
  364. </div>
  365. </div>
  366. </div>
  367. </div>
  368. <div class="demand_2 clearfix">
  369. <div class="demand_right_1 clearfix">
  370. <div class="cruit_head_box clearfix">
  371. <div class="cruit_head_left">
  372. <a class="cruit_head_a cruit_head_only" title="">招聘单位</a>
  373. </div>
  374. </div>
  375. <div class="demand_ul_1">
  376. <span class="demand_ul_1_span dot1">
  377. {{ companyInfo.business_name }}
  378. </span>
  379. </div>
  380. </div>
  381. <div class="demand_right_2 clearfix">
  382. <div class="cruit_head_box clearfix">
  383. <div class="cruit_head_left">
  384. <a class="cruit_head_a cruit_head_only" title="">其他职位</a>
  385. </div>
  386. </div>
  387. <div class="demand_ul_1">
  388. <NuxtLink class="demand_ul_1_a dot1" :href="`/${item.pinyin}/${item.id}.html`" title=""
  389. v-for="(item, index) in other_job" :key="item.id">
  390. {{ item.title }}
  391. </NuxtLink>
  392. </div>
  393. </div>
  394. </div>
  395. </section>
  396. </main>
  397. </div> -->
  398. <HomeAdvertising :imgurl="adImg2" v-if="adImg2"></HomeAdvertising>
  399. <HomeFoot1></HomeFoot1>
  400. </div>
  401. </template>
  402. <script setup>
  403. import { ref } from 'vue'
  404. import { ElBreadcrumb, ElBreadcrumbItem, ElMessage } from 'element-plus'
  405. import { ArrowRight } from '@element-plus/icons-vue'
  406. const route = useRoute();
  407. const type = ref(2);
  408. const nuxtApp = useNuxtApp();
  409. const axios = nuxtApp.$axios;
  410. //获取用户信息
  411. let type_id = ref('')
  412. let website_id = ref('')
  413. let getUserInfo = () => {
  414. axios.get("/user/getUserInfo").then(response => {
  415. console.log("gettypeid", response.data);
  416. type_id.value = response.data.type_id
  417. website_id.value = response.data.website_id
  418. })
  419. companyJOb()
  420. }
  421. onMounted(() => {
  422. getUserInfo()
  423. })
  424. //获取当前企业会员的职位
  425. const companyJobList = ref([])
  426. let companyJOb = () => {
  427. axios.post("/web/getWebsiteJobRecruiting", {
  428. 'pageSize': 10,
  429. 'website_id': 30,
  430. // 'website_id': website_id.value,
  431. }).then(response => {
  432. console.log("gettypeid_获取到的企业会员的职位:", response.data);
  433. companyJobList.value = response.data
  434. })
  435. }
  436. const resumeBool = ref(false)
  437. const job_search = ref('')
  438. const company_job = ref('')
  439. const allResume = ref(false)
  440. // 3 沟通简历
  441. const getContactMe = async () => {
  442. resumeBool.value = true
  443. }
  444. let getresume = () => {
  445. axios.post('/web/getWebsiteJobResume', {
  446. website_id: website_id.value,
  447. recruit_id: company_job.value,
  448. hunt_id: articleIdArr,
  449. }).then(res => {
  450. if (res.code == 200) {
  451. ElMessage({
  452. message: '投递成功',
  453. type: 'sussess',
  454. });
  455. resumeBool.value = false;
  456. } else {
  457. ElMessage({
  458. message: res.message,
  459. type: 'error',
  460. });
  461. resumeBool.value = false;
  462. }
  463. company_job.value = '';
  464. job_search.value = 2;
  465. allResume.value = false;
  466. })
  467. }
  468. //1.1 获得跳转过来的id
  469. const articleId = parseInt(route.params.id); //获得该页面的id
  470. let articleIdArr = Array.of(articleId);
  471. // console.log('111222111', articleId);
  472. //1.2 获得父级栏目的名称、id
  473. //获得当前的完整路径
  474. const fullPath = route.path;
  475. //拆分,取出来中间这一段,然后提取数字部分
  476. const segments = fullPath.split('/');
  477. const targetSegment = segments[1];
  478. const targetRoute = segments[2];
  479. console.log("targetSegment1", targetSegment);
  480. console.log("targetSegment2", targetRoute);
  481. // if (targetSegment == 'zhaogongzhaopinnongmingong') {
  482. // type.value = 1;
  483. // } else if (targetSegment == 'nongmingongqiuzhi') {
  484. // type.value = 2;
  485. // } else {
  486. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  487. // }
  488. // const numberPart = targetSegment.match(/\d+$/)?.[0];
  489. // const routeId = numberPart;
  490. let routeId;
  491. //通过导航路径反向查询导航id
  492. const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
  493. method: 'GET',
  494. query: {
  495. 'pinyin': targetSegment,
  496. },
  497. });
  498. if (getRouteId.code == 200) {
  499. routeId = getRouteId.data.category_id
  500. } else {
  501. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  502. console.log("错误位置:通过url路径查询导航池id")
  503. console.log("后端错误反馈:", getRouteId.message)
  504. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  505. }
  506. //1.3 面包屑导航
  507. const parent_name = ref("");
  508. const parent_id = ref("");
  509. const parent_pinyin = ref("");
  510. let getParentNav = async () => {
  511. const listData = await requestDataPromise('/web/getOneWebsiteCategory', {
  512. method: 'GET',
  513. query: {
  514. 'catid': routeId
  515. },
  516. });
  517. if (listData.code == 200) {
  518. parent_name.value = listData.data.alias;
  519. parent_id.value = listData.data.parent_id;
  520. parent_pinyin.value = listData.data.aLIas_pinyin;
  521. } else {
  522. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  523. console.log("错误位置:获取面包屑导航")
  524. console.log("后端错误反馈:", listData.message)
  525. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  526. }
  527. }
  528. //获得父级栏目详情
  529. getParentNav();
  530. //1.4 展示广告
  531. let adImg1 = ref({})
  532. let adImg2 = ref({})
  533. onMounted(async () => {
  534. //从客户端获取行政职能部门 加快打开速度
  535. const { $webUrl, $CwebUrl } = useNuxtApp();
  536. //广告1
  537. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_detail_0001`
  538. const responseAd1 = await fetch(url, {
  539. headers: {
  540. 'Content-Type': 'application/json',
  541. 'Userurl': $CwebUrl,
  542. 'Origin': $CwebUrl
  543. }
  544. });
  545. const resultAd1 = await responseAd1.json();
  546. adImg1.value = resultAd1.data[0];
  547. //广告2
  548. let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_detail_0002`
  549. const responseAd2 = await fetch(url2, {
  550. headers: {
  551. 'Content-Type': 'application/json',
  552. 'Userurl': $CwebUrl,
  553. 'Origin': $CwebUrl
  554. }
  555. });
  556. const resultAd2 = await responseAd2.json();
  557. adImg2.value = resultAd2.data[0];
  558. })
  559. // 2 获取详情
  560. let jobInfo = ref([]) //基本信息
  561. let companyInfo = ref([])// 公司介绍
  562. let category = ref([]) // 栏目
  563. let other_job = ref([]) // 岗位
  564. let experienceInfo = ref([]) // 工作经历
  565. let education = ref([]) // 教育背景
  566. let skillList = ref([]) // 专业技能
  567. let resume = ref(0)
  568. const getDetail = async () => {
  569. const listData = await requestDataPromise('/web/getWebsiteJobInfo', {
  570. method: 'GET',
  571. query: {
  572. 'id': articleId,
  573. 'type': type.value,
  574. 'pageSize': 10,
  575. },
  576. });
  577. if (listData.code == 200) {
  578. console.log("详情1111", listData.data);
  579. // console.log("详情1111222", listData.data.job[0].job_experience);
  580. // console.log("详情111122233", JSON.parse(listData.data.job[0].job_experience));
  581. // console.log("详情1111222233344", JSON.parse(listData.data.job[0].education_experience));
  582. // jobInfo.value = listData.data.job[0];
  583. // category.value = listData.data.category;
  584. if (type.value == 1) {
  585. jobInfo.value = listData.data.job[0];
  586. category.value = listData.data.category;
  587. companyInfo.value = listData.data.company[0];
  588. other_job.value = listData.data.other_job;
  589. }
  590. if (type.value == 2) {
  591. jobInfo.value = listData.data.job[0];
  592. category.value = listData.data.category;
  593. experienceInfo.value = listData.data.job_experience;
  594. education.value = listData.data.education_experience;
  595. skillList.value = JSON.parse(listData.data.job[0].skillList);
  596. resume.value = listData.data.resume;
  597. }
  598. }
  599. }
  600. getDetail();
  601. //获取行业 职位 具体职位
  602. const industry_categoryList = ref([]) //行业类别列表
  603. const position_categoryList = ref([]) //职位类别列表
  604. const positionList = ref([]) //具体职位列表
  605. const getData = async () => {
  606. const getData = await requestDataPromise('/web/getWebsiteJobSelect', {
  607. method: 'GET',
  608. query: {},
  609. });
  610. if (getData.code == 200) {
  611. // console.log("获取到的分类数据:", getData.data);
  612. industry_categoryList.value = getData.data.hy; //行业
  613. position_categoryList.value = getData.data.zw; //职位
  614. positionList.value = getData.data.jtzw; //具体职位
  615. }
  616. }
  617. getData()
  618. //4.设置seo信息 start---------------------------------------->
  619. //4.1 设置seo信息
  620. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  621. method: 'GET',
  622. query: {
  623. 'catid': routeId,
  624. },
  625. });
  626. if (setData.code == 200) {
  627. let seoTitle = setData.data.seo_title;
  628. let seoDescription = setData.data.seo_description;
  629. let seoKeywords = setData.data.seo_keywords;
  630. let seoSuffix = setData.data.suffix;
  631. let seoName = setData.data.website_name;
  632. useSeoMeta({
  633. title: seoTitle + "_" + seoName + "_" + seoSuffix,
  634. meta: [
  635. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  636. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
  637. ]
  638. });
  639. } else {
  640. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  641. console.log("错误位置:设置列表页面SEO数据")
  642. console.log("后端错误反馈:", setData.message)
  643. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  644. }
  645. //4.设置seo信息 end---------------------------------------->
  646. </script>
  647. <style scoped lang="less">
  648. @import "@/assets/css/zgzpjianli.less";
  649. @import "@/assets/css/zgzpzhaopin.less";
  650. @import "@/assets/css/zgzpsearch.less";
  651. .contact_me {
  652. width: 1200px;
  653. margin: 30px auto;
  654. height: 70px;
  655. .contact_me_btn {
  656. width: 127px;
  657. height: 45px;
  658. line-height: 45px;
  659. background-color: #489d97;
  660. color: #fff;
  661. border-radius: 4px;
  662. font-size: 16px;
  663. border: none;
  664. cursor: pointer;
  665. .contact_me_btn_img {
  666. display: inline-block;
  667. width: 18px;
  668. height: 18px;
  669. background-image: url('@/public/images/comments.png');
  670. vertical-align: -4px;
  671. margin-left: 20px;
  672. }
  673. }
  674. .contact_me_btn_2 {
  675. background-color: #ccc;
  676. cursor: default;
  677. }
  678. }
  679. </style>